/* 
	1.该文件是整个Vuex中最为核心的文件，该文件最终会暴露一个store对象
	2.store管理着：actions、mutations、state
*/
import Vue from 'vue'
import Vuex from 'vuex'

//使用Vuex这个插件
Vue.use(Vuex)

/* 准备好一个actions能干啥 
			能够响应组件中的动作，所谓动作就是：对数据进行操作，例如：加2、减1，都是动作。
*/
let actions = {
	//组件中dispatch了jia这个动作，就会引起jia函数的调用
	jia(miniStore,value){
		miniStore.commit('JIA',value)
	},
	jian(miniStore,value){
		miniStore.commit('JIAN',value)
	}
}

//准备好一个mutations能干啥？—— 能够实现真正操作数据
let mutations = {
	JIA(state,value){
		state.sum += value
	},
	JIAN(state,value){
		state.sum -= value
	}
}

//准备好一个state能干啥？—— 保存数据
let state = {
	sum:9, //和
}

//创建一个store
let store = new Vuex.Store({
	actions,
	mutations,
	state
})

//暴露一个store
export default store